<!DOCTYPE html>
<html>

<head>
    <meta charset='utf-8'>
    <meta http-equiv='X-UA-Compatible' content='IE=edge'>
    <title>两数之和</title>
    <meta name='viewport' content='width=device-width, initial-scale=1'>
    <link rel='stylesheet' type='text/css' media='screen' href='main.css'>
    <style>
        .box {
            display: flex;
            padding: 5%;
        }

        .left-wrap {
            width: 40%;
        }
    </style>
</head>

<body>
    <div class="box">
        <div class="left-wrap">
            给定一个整数数组 nums 和一个目标值 target，请你在该数组中找出和为目标值的那 两个 整数，并返回他们的数组下标。

            你可以假设每种输入只会对应一个答案。但是，你不能重复利用这个数组中同样的元素。

            示例:

            给定 nums = [2, 7, 11, 15], target = 9

            因为 nums[0] + nums[1] = 2 + 7 = 9
            所以返回 [0, 1]

        </div>
    </div>
</body>
<script>
    /**
        给定一个整数数组 nums 和一个目标值 target，请你在该数组中找出和为目标值的那 两个 整数，并返回他们的数组下标。
        你可以假设每种输入只会对应一个答案。但是，你不能重复利用这个数组中同样的元素。
        示例:
            给定 nums = [2, 7, 11, 15], target = 9

            因为 nums[0] + nums[1] = 2 + 7 = 9
            所以返回 [0, 1]
    */
    /**
    * @param {number[]} nums
    * @param {number} target
    * @return {number[]}
    */
    var twoSum = function (nums, target) {
        var temp = [];
        for (var i = 0; i < nums.length; i++) {
            debugger
            var dif = target - nums[i];
            if (temp[dif] != undefined) {
                return [temp[dif], i];
            }
            temp[nums[i]] = i;
        }
        return temp
    };
    console.log(twoSum([2, 7, 11, 15, 3], 18))
    console.log(twoSum([2, 0, 11, 12, 3], 13))
</script>

</html>